package com.ball.common.utils;

import java.util.Arrays;
import java.util.List;

public class FileExtensionChecker {

    private static final List<String> VIDEO_EXTENSIONS = Arrays.asList("mp4", "avi", "mov", "mkv", "wmv", "flv", "mpg", "mpeg");
    private static final List<String> IMAGE_EXTENSIONS = Arrays.asList("jpg", "jpeg", "png", "gif", "bmp");

    /**
     * 根据文件名后缀判断文件类型
     * @param fileName 完整的文件名，包含后缀
     * @return 如果是视频文件返回1，如果是图片文件返回0，否则返回2
     */
    public static int checkFileType(String fileName) {
        String extension = getFileExtension(fileName);
        if (VIDEO_EXTENSIONS.contains(extension.toLowerCase())) {
            return 1;//视频
        } else if (IMAGE_EXTENSIONS.contains(extension.toLowerCase())) {
            return 0;//照片
        } else {
            return 2;//其他
        }
    }

    /**
     * 获取文件名的后缀
     * @param fileName 完整的文件名，包含后缀
     * @return 文件后缀（不包括点）
     */
    private static String getFileExtension(String fileName) {
        int lastDotIndex = fileName.lastIndexOf(".");
        if (lastDotIndex == -1) {
            return "";
        }
        return fileName.substring(lastDotIndex + 1);
    }
}